Elasticsearch-এ ডেটা ইন্ডেক্সিং এবং সার্চ অপারেশন হলো ডেটা ব্যবস্থাপনা এবং রিট্রিভালের মূল উপাদান। Elasticsearch ডকুমেন্ট ইনডেক্সিং-এর মাধ্যমে ডেটা সংরক্ষণ করে এবং সার্চ অপারেশন পরিচালনা করে দ্রুত এবং কার্যকরভাবে ডেটা রিট্রিভ করতে সক্ষম হয়। নিচে Elasticsearch-এ Data Indexing এবং Search Operation-এর ধাপ এবং উদাহরণ আলোচনা করা হলো।
POST /my-index/_doc/1
{
"name": "John Doe",
"age": 30,
"occupation": "Software Engineer",
"join_date": "2022-05-10"
}
/my-index
হলো ইন্ডেক্সের নাম।/_doc/1
হলো ডকুমেন্ট আইডি, যা ডকুমেন্টটিকে ইউনিকভাবে চিহ্নিত করে।created
স্ট্যাটাস সহ একটি রেসপন্স দেখা যাবে।POST /_bulk
{ "index": { "_index": "my-index", "_id": "2" } }
{ "name": "Jane Doe", "age": 28, "occupation": "Data Scientist", "join_date": "2023-03-01" }
{ "index": { "_index": "my-index", "_id": "3" } }
{ "name": "Alice", "age": 35, "occupation": "Product Manager", "join_date": "2021-11-15" }
/_bulk
API ব্যবহার করে ইনডেক্স করা হচ্ছে।_index
এবং _id
নির্ধারণ করা হয়েছে, এবং ডকুমেন্টের তথ্য JSON ফরম্যাটে প্রদান করা হয়েছে।GET /my-index/_search
{
"query": {
"match": {
"occupation": "Software Engineer"
}
}
}
/my-index/_search
ইন্ডেক্সে সার্চ করা হচ্ছে।"query"
ফিল্ডে "match"
কন্ডিশন ব্যবহার করে "occupation"
ফিল্ডে "Software Engineer"
টার্মের সাথে মিল খুঁজে বের করা হচ্ছে।GET /my-index/_search
{
"query": {
"bool": {
"must": [
{ "match": { "occupation": "Software Engineer" } }
],
"filter": [
{ "range": { "age": { "gte": 25, "lte": 35 } } }
]
}
}
}
"bool"
কন্ডিশন ব্যবহার করে "must"
এবং "filter"
ক্লজ দিয়ে সার্চ করা হয়েছে।"must"
ক্লজের মাধ্যমে "occupation"
ফিল্ডে "Software Engineer"
টার্ম খোঁজা হয়েছে।"filter"
ক্লজের মাধ্যমে "age"
ফিল্ডে ২৫ থেকে ৩৫ বছরের মধ্যে থাকা ডকুমেন্টগুলো ফিল্টার করা হয়েছে।GET /my-index/_search
{
"query": {
"bool": {
"must": [
{ "match": { "occupation": "Data Scientist" } },
{ "match": { "department": "Data Science" } }
]
}
}
}
"bool"
কন্ডিশন ব্যবহার করে "must"
ক্লজে একাধিক কন্ডিশন সেট করা হয়েছে, যাতে "occupation"
এবং "department"
উভয় ফিল্ডে মিল খুঁজে বের করা যায়।GET /my-index/_search
{
"aggs": {
"average_age": {
"avg": {
"field": "age"
}
}
},
"size": 0
}
"aggs"
ফিল্ডে "average_age"
নামক একটি অ্যাগ্রিগেশন তৈরি করা হয়েছে, যা "age"
ফিল্ডের গড় হিসাব করবে।"size": 0
দিয়ে সার্চ রেসপন্সে ডকুমেন্ট না দেখিয়ে শুধুমাত্র অ্যাগ্রিগেশন রেসপন্স দেখানো হয়েছে।"sort"
ফিল্ড ব্যবহার করা হয়:GET /my-index/_search
{
"query": {
"match": {
"occupation": "Software Engineer"
}
},
"sort": [
{ "age": { "order": "asc" } }
]
}
"age"
ফিল্ডের উপর ভিত্তি করে ডকুমেন্টগুলো এসেন্ডিং (asc) অর্ডারে সর্চ করা হয়েছে।"from"
এবং "size"
প্যারামিটার ব্যবহার করা হয়:GET /my-index/_search
{
"query": {
"match": {
"occupation": "Data Scientist"
}
},
"from": 0,
"size": 5
}
"from"
প্যারামিটার সার্চ রেসপন্সে কোন ডকুমেন্ট থেকে শুরু হবে তা নির্দেশ করে এবং "size"
প্যারামিটার কতগুলি ডকুমেন্ট প্রদর্শিত হবে তা নির্ধারণ করে।Elasticsearch-এ Data Indexing এবং Search Operation খুবই দ্রুত এবং কার্যকরীভাবে RESTful API ব্যবহার করে সম্পন্ন করা যায়। ডকুমেন্ট ইনডেক্স করে ডেটা সংরক্ষণ, ফিল্টার এবং সার্চ করে ডেটা রিট্রিভ করা Elasticsearch-এ সহজ এবং স্কেলেবল। উন্নত সার্চ অপারেশন এবং অ্যাগ্রিগেশন ব্যবহার করে ডেটা বিশ্লেষণ আরও সহজে করা যায়, যা Elasticsearch-কে একটি শক্তিশালী সার্চ এবং অ্যানালিটিক্স ইঞ্জিন হিসেবে প্রতিষ্ঠিত করে।
আরও দেখুন...